package com.surekam.dma.service.dma.dms;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springside.modules.orm.Page;
import org.springside.modules.orm.PropertyFilter;
import org.springside.modules.security.springsecurity.SpringSecurityUtils;

import com.surekam.dma.dao.dma.dms.DocuTypeDao;
import com.surekam.dma.entity.dma.dms.DocuType;
//Spring Bean的标识.
@Component
//默认将类中的所有函数纳入事务管理.
@Transactional
public class DocuTypeManager {
	private static Logger logger = LoggerFactory.getLogger(DocuTypeManager.class);
	private DocuTypeDao docuTypeDao;
	/**
	 * 使用属性过滤条件查询用户.
	 */
	@Transactional(readOnly = true)
	public Page<DocuType> searchDocuType(final Page<DocuType> page,final List<PropertyFilter> filters){
		return docuTypeDao.findPage(page, filters);
	}
	/**
	 * 根据ID查询文档类型
	 */
	public DocuType getDocuType(Long id){
		return docuTypeDao.get(id);
	}
	/**
	 * 保存文档类型
	 */
	public void saveDocuType(DocuType entity){
		docuTypeDao.save(entity);
	}
	/**
	 * 删除文档类型
	 */
	public void deleteDocuType(Long id){
		logger.warn("删除类型"+ id,SpringSecurityUtils.getCurrentUserName());
		docuTypeDao.delete(id);
	}
	@Transactional(readOnly = true)
	/**
	 * 查询所有文档类型
	 */
	public List<DocuType> getAllDocuType(){
		return docuTypeDao.getAll();
	}
	@Autowired
	public void setDocuTypeDao(DocuTypeDao docuTypeDao) {
		this.docuTypeDao = docuTypeDao;
	}
	
}


